import json

from API.base_service_api import BaseService


class MemberService(BaseService):
    def __init__(self):
        # 扩展式重写
        super().__init__()
        self.member_service = "MemberService"
    # 根据手机号查询会员信息
    def find_by_telephone(self,data):
        resp = self.client.invoke(self.member_service,"findByTelephone",data)
        # 数据类型错误“Failed” 没有查到“Null”  成功是：“{}”
        # 增加if判断，如果是Failed或者Null返回none
        if resp == "Failed" or resp == "null":
            return None
        # 负责  返回 数据 改成字典格式
        else :
            return json.loads(resp)
    # 根据日期统计会员数
    def find_member_count_by_months(self,data):
        resp = self.client.invoke(self.member_service,"findMemberCountByMonths",data)
        # 数据类型错误“Failed” 没有查到“Null”  成功是：“{}”
        # 增加if判断，如果是Failed或者Null返回none
        if resp == "Failed" or resp == "No":
            return None
        # 负责  返回 数据 改成字典格式
        else :
            return json.loads(resp)
    # 添加会员
    def add(self,data):
        data["class"] ="com.itheima.pojo.Member"
        resp = self.client.invoke(self.member_service,"add",data)
        # 增加if判断，如果是Null返回True
        if resp == "null":
            return True
        # 负责  返回 数据 改False
        else :
            return False

if __name__ == '__main__':
    ms = MemberService()
    # 根据手机号查询会员信息
    resp = ms.find_by_telephone("13419876880")
    print("响应类型",resp)
    print("响应类型", type(resp))
    # 根据日期统计会员数
    resp = ms.find_member_count_by_months(["2022.5"])
    print("响应类型",resp)
    print("响应类型", type(resp))
    # 添加会员
    data={"phoneNumber":"13419551558","password":"123456"}
    resp = ms.add(data)
    print("响应类型",resp)
    print("响应类型", type(resp))


